    // Structure representing print settings.
    TCefPrintSettings = record
        // Base structure.
        base: TCefBase;

        // Returns true (1) if this object is valid. Do not call any other functions
        // if this function returns false (0).
        is_valid: function(self: PCefPrintSettings): Integer; cconv;

        // Returns true (1) if the values of this object are read-only. Some APIs may
        // expose read-only objects.
        is_read_only: function(self: PCefPrintSettings): Integer; cconv;

        // Returns a writable copy of this object.
        copy: function(self: PCefPrintSettings): PCefPrintSettings; cconv;

        // Set the page orientation.
        set_orientation: procedure(self: PCefPrintSettings; landscape: Integer); cconv;

        // Returns true (1) if the orientation is landscape.
        is_landscape: function(self: PCefPrintSettings): Integer; cconv;

        // Set the printer printable area in device units. Some platforms already
        // provide flipped area. Set |landscape_needs_flip| to false (0) on those
        // platforms to avoid double flipping.
        set_printer_printable_area: procedure(
            self: PCefPrintSettings;
            const physical_size_device_units: PCefSize;
            const printable_area_device_units: PCefRect;
            landscape_needs_flip: Integer); cconv;

        // Set the device name.
        set_device_name: procedure(self: PCefPrintSettings; const name: PCefString); cconv;

        // Get the device name.
        get_device_name: function(self: PCefPrintSettings): PCefStringUserFree; cconv;

        // Set the DPI (dots per inch).
        set_dpi: procedure(self: PCefPrintSettings; dpi: Integer); cconv;

        // Get the DPI (dots per inch).
        get_dpi: function(self: PCefPrintSettings): Integer; cconv;

        // Set the page ranges.
        set_page_ranges: procedure(
            self: PCefPrintSettings;
            rangesCount: TSize;
            {$warning List of values instead of pointer to the record}
            const ranges: PCefPageRange); cconv;

        // Returns the number of page ranges that currently exist.
        get_page_ranges_count: function(self: PCefPrintSettings): TSize; cconv;

        // Retrieve the page ranges.
        get_page_ranges: procedure(
            self: PCefPrintSettings;
            {$warning Probably VAR parameter}
            rangesCount: PSize;
            {$warning List of values instead of pointer to the record}
            var ranges: PCefPageRange); cconv;

        // Set whether only the selection will be printed.
        set_selection_only: procedure(self: PCefPrintSettings; selection_only: Integer); cconv;

        // Returns true (1) if only the selection will be printed.
        is_selection_only: function(self: PCefPrintSettings): Integer; cconv;

        // Set whether pages will be collated.
        set_collate: procedure(self: PCefPrintSettings; collate: Integer); cconv;

        // Returns true (1) if pages will be collated.
        will_collate: function(self: PCefPrintSettings): Integer; cconv;

        // Set the color model.
        set_color_model: procedure(self: PCefPrintSettings; model: TCefColorModel); cconv;

        // Get the color model.
        get_color_model: function(self: PCefPrintSettings): TCefColorModel; cconv;

        // Set the number of copies.
        set_copies: procedure(self: PCefPrintSettings; copies: Integer); cconv;

        // Get the number of copies.
        get_copies: function(self: PCefPrintSettings): Integer; cconv;

        // Set the duplex mode.
        set_duplex_mode: procedure(self: PCefPrintSettings; mode: TCefDuplexMode); cconv;

        // Get the duplex mode.
        get_duplex_mode: function(self: PCefPrintSettings): TCefDuplexMode; cconv;
    end;

    tfn_cef_print_settings_create = function: PCefPrintSettings; cdecl;

